Topography • DEM-derived terrain slope

SLOPE – Terrain Slope (DEM-based)

SLOPE represents the steepness of the terrain, derived from a digital elevation model (DEM). It is typically expressed in degrees (°) or as percent slope, and is a fundamental parameter in hydrology, geomorphology, land-use planning and risk analysis.


Slope overview concept & applications

What does terrain slope measure?

Slope quantifies how fast elevation changes in space. It is computed from the gradient of the DEM in the x- and y-directions, and describes how steep each pixel is compared to a horizontal plane.

  • Hydrology: flow direction, runoff speed, erosion risk.
  • Land-use planning: suitability for buildings, roads and agriculture.
  • Natural hazards: landslide susceptibility and terrain stability.
  • Ecology & climate: controlling microclimate and vegetation patterns.

Note: Slope accuracy depends on DEM resolution, vertical accuracy, and preprocessing (void filling, smoothing, reprojection).

Mathematical definition

Slope from elevation gradients
p = ∂z/∂x,   q = ∂z/∂y

Slope (radians) = arctan( √(p² + q²) )
Slope (degrees) = Slope (radians) · 180 / π

where z is elevation, p and q are the partial derivatives in the x- and y-directions, usually approximated by finite differences in the DEM.

Most GIS / GEE functions (e.g. ee.Terrain.slope) implement this formula internally and return slope directly in degrees.

Required inputs

Elevation data

Input Example sources
DEM SRTM, ALOS, ASTER GDEM, COPERNICUS DEM, local LiDAR DEM
Projection & units Prefer projected CRS with metres as linear unit
Resolution Typically 10–30 m for regional studies
Preprocessing Void filling, sink removal (if used for hydrology)

Tip: projecting the DEM to a suitable projected CRS (e.g. UTM) avoids distortions in slope due to geographic coordinates.

Interpreting slope values (degrees)

Slope (°) Typical interpretation
0 – 2 Flat to nearly flat
2 – 5 Gentle slope
5 – 15 Moderate slope
15 – 30 Steep slope
> 30 Very steep / mountainous

These classes are generic; adapt thresholds to your local context (e.g. engineering standards, agricultural machinery limits).

Computing SLOPE in Google Earth Engine (SRTM example)

  1. Load a DEM (e.g. SRTM, Copernicus DEM) and define your ROI.
  2. Optionally reproject to a suitable projected CRS with a chosen scale.
  3. Use ee.Terrain.slope to compute slope in degrees.
  4. Visualise and export the slope map if needed.
// SLOPE – Terrain slope example using SRTM in Google Earth Engine
var roi = /* your geometry here */;

// Load SRTM DEM (30 m)
var dem = ee.Image('USGS/SRTMGL1_003')
  .clip(roi);

// Optional: reproject to UTM (example EPSG:32636) with 30 m scale
var demProj = dem.reproject({
  crs: 'EPSG:32636',  // change to the UTM zone of your area
  scale: 30
});

// Compute slope in degrees
var slope = ee.Terrain.slope(demProj).rename('SLOPE');

// Visualisation
Map.centerObject(roi, 9);
Map.addLayer(slope, {
  min: 0, max: 45,
  palette: ['#0b1120','#1d4ed8','#22c55e','#eab308','#f97316','#7f1d1d']
}, 'Terrain Slope (degrees)');

// Optional export
Export.image.toDrive({
  image: slope,
  description: 'SLOPE_SRTM_example',
  region: roi,
  scale: 30,
  maxPixels: 1e13
});

Important: for large areas or high latitudes, choose an appropriate projected CRS (UTM / local projection) and consistent scale to avoid distortions and ensure accurate slope estimates.

Part of the Start4IT Remote Sensing & Terrain Parameters Library. More indices & ready-to-use code: www.start4it.com/rs-indices